package com.webchat.common.enums.mall.im;


import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum MallImMessageTypeEnum {

    MSG_START_INPUT(1, "对方正在输入"),

    MSG_EXIT_INPUT(2, "退出输入"),

    MSG_TEXT(3, "文本消息"),

    MSG_IMAGE(4, "图片消息"),

    MSG_CARD(5, "卡片消息");

    private final Integer typeCode;
    private final String typeName;

    /**
     * 是否直接转发（不需要业务处理）的消息类型
     *
     * @param typeCode
     * @return
     */
    public static boolean isForwarding(Integer typeCode) {

        return MSG_START_INPUT.typeCode.equals(typeCode) ||
               MSG_EXIT_INPUT.typeCode.equals(typeCode);
    }

    /**
     * 是否卡片类型消息
     *
     * @param typeCode
     * @return
     */
    public static boolean isCardMessage(Integer typeCode) {
        return MSG_CARD.typeCode.equals(typeCode);
    }

    /**
     * 是否支持的消息类型
     *
     * @param typeCode
     * @return
     */
    public static boolean isSupport(Integer typeCode) {
        if (typeCode == null) {
            return false;
        }
        for (MallImMessageTypeEnum type : MallImMessageTypeEnum.values()) {
            if (type.getTypeCode().equals(typeCode)) {
                return true;
            }
        }
        return false;
    }
}
